home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Web-Publishing / HTML-Editoren / Alpha ƒ / Mode Examples / Gnuplot-Example.gp < prev    next >
Encoding:
Text File  |  2000-10-30  |  22.2 KB  |  919 lines

  1. # Gnuplot-Example.gnu
  2. # Included in the Alpha distribution as an example of the GPLT mode.
  3. # GPLT mode is part of the standard Alpha distribution.
  4. # Gnuplot is a command-line driven interactive function plotting utility for
  5. # UNIX, MSDOS, and VMS platforms.  The software is copyrighted but freely
  6. # distributed (i.e., you don't have to pay for it).  It was originally
  7. # intended as a graphical program which would allow scientists and students
  8. # to visualize mathematical functions and data.  Gnuplot supports many
  9. # different types of terminals, plotters, and printers (including many color
  10. # devices, and pseudo-devices like LaTeX) and is easily extensible to include
  11. # new devices.  
  12. #
  13. # [ The "GNU" in gnuplot is NOT related to the Free Software Foundation, the
  14. # naming is just a coincidence (and a long story).  Thus gnuplot is not
  15. # covered by the Gnu copyleft, but rather by its own copyright statement,
  16. # included in all source code files. ]
  17. # Additional information about Scilab can be found at:
  18. #     <http://www.cs.dartmouth.edu/gnuplot_info.html>
  19.  
  20. # proba gnuplot demo
  21. # $Id: prob.demo 3.38.2.32 1992/12/04 18:33:59 woo Exp $
  22. #
  23. # Demo Statistical Functions version 2.3
  24. #
  25. # Permission granted to distribute freely for non-commercial purposes only
  26. #
  27. # Copyright (c) 1991-2000 Jos van der Woude, jvdwoude@hut.nl
  28.  
  29. pause 0 "                   Statistical Library Demo, version 2.3"
  30. pause 0 ""
  31. pause 0 "          Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
  32. pause 0 "Permission granted to distribute freely for non-commercial purposes only"
  33. pause 0 ""
  34. pause 0 ""
  35. pause 0 ""
  36. pause 0 ""
  37. pause 0 ""
  38. pause 0 ""
  39. pause 0 ""
  40. pause 0 ""
  41. pause 0 ""
  42. pause 0 ""
  43. pause 0 ""
  44. pause 0 ""
  45. pause 0 ""
  46. pause 0 ""
  47. pause 0 ""
  48. pause 0 "NOTE: contains 54 plots and consequently takes a lot of time to run"
  49. pause 0 "                      Press Ctrl-C to exit right now"
  50.  
  51. save set "defaults.ini"
  52. load "stat.inc"
  53.  
  54. # Arcsinus PDF and CDF
  55. r = 2.0
  56. mu = 0.0
  57. sigma = r / sqrt2
  58. xmin = -r
  59. xmax = r
  60. ymax = 1.1 * r #No mode
  61. set nokey
  62. set zeroaxis
  63. set xrange [xmin : xmax]
  64. set yrange [0 : ymax]
  65. set xlabel "x ->"
  66. set ylabel "probability density ->"
  67. set xtics
  68. set ytics
  69. set format x "%.1f"
  70. set format y "%.1f"
  71. set sample 200
  72. set title "arcsin PDF with r = 2.0"
  73. plot arcsin(x)
  74.  
  75. will result in (gif mode)  
  76.  
  77. set title "arcsin CDF with r = 2.0"
  78. set yrange [0 : 1.1]
  79. plot carcsin(x)
  80.  
  81. will result in (gif mode)  
  82.  
  83.  
  84. # Beta PDF and CDF
  85. #p = 0.5; q = 0.7
  86. #mu = p / (p + q)
  87. #sigma = sqrt(p**q) / ((p + q ) * sqrt(p + q + 1.0))
  88. #xmin = 0.0
  89. #xmax = 1.0
  90. #Mode of beta PDF used
  91. #ymax = (p < 1.0 || q < 1.0) ? 2.0 : 1.1 * beta((p - 1.0)/(p + q - 2.0))
  92. set key
  93. set zeroaxis
  94. #set xrange [xmin : xmax]
  95. #set yrange [0 : ymax]
  96. set xlabel "x ->"
  97. set ylabel "probability density ->"
  98. set xtics
  99. set ytics
  100. set format x "%.1f"
  101. set format y "%.1f"
  102. set sample 100
  103. set title "beta PDF"
  104. plot [0:1] [0:5] p = 0.5, q = 0.7, beta(x) title "p = 0.5, q = 0.7", \
  105.                  p = 5.0, q = 3.0, beta(x) title "p = 5.0, q = 3.0", \
  106.                  p = 0.5, q = 2.5, beta(x) title "p = 0.5, q = 2.5"
  107.  
  108. will result in (gif mode)  
  109.  
  110. set title "incomplete beta CDF"
  111. plot [0:1] [0:1.1] p = 0.5, q = 0.7, cbeta(x) title "p = 0.5, q = 0.7", \
  112.                    p = 5.0, q = 3.0, cbeta(x) title "p = 5.0, q = 3.0", \
  113.                    p = 0.5, q = 2.5, cbeta(x) title "p = 0.5, q = 2.5"
  114.  
  115. will result in (gif mode)  
  116.  
  117.  
  118. # Binomial PDF and CDF
  119. n = 25; p = 0.15
  120. mu = n * p
  121. sigma = sqrt(n * p * (1.0 - p))
  122. xmin = int(mu - 4.0 * sigma)
  123. xmin = xmin < 0 ? 0 : xmin
  124. xmax = int(mu + 4.0 * sigma)
  125. ymax = 1.1 * binom(mu) #Mode of normal PDF used
  126. xinc = ceil((xmax - xmin) / 10)
  127. xinc = xinc > 1 ? xinc : 1
  128. set nokey
  129. set nozeroaxis
  130. set xrange [xmin : xmax]
  131. set yrange [0 : ymax]
  132. set xlabel "k ->"
  133. set ylabel "probability density ->"
  134. set xtics xmin + 0.499, xinc, xmax
  135. set ytics 0, ymax / 10, ymax
  136. set format x "%2.0f"
  137. set format y "%3.2f"
  138. set sample (xmax - xmin) + 1
  139. set title "binomial PDF with n = 25, p = 0.15"
  140. plot binom(x) with steps
  141.  
  142. will result in (gif mode)  
  143.  
  144. set title "binomial CDF with n = 25, p = 0.15"
  145. set yrange [0 : 1.1]
  146. set ytics 0, 1.1 / 10.5, 1.1
  147. plot cbinom(x) with steps
  148.  
  149. will result in (gif mode)  
  150.  
  151.  
  152. # Cauchy PDF and CDF
  153. #a = 0.0; b = 2.0
  154. #cauchy PDF has no moments
  155. #xmin = a - 4.0 * b
  156. #xmax = a + 4.0 * b
  157. #ymax = 1.1 * cauchy(a) #Mode of cauchy PDF used
  158. set key
  159. set zeroaxis
  160. #set xrange [xmin : xmax]
  161. #set yrange [0 : ymax]
  162. set xlabel "x ->"
  163. set ylabel "probability density ->"
  164. set xtics
  165. set ytics
  166. set format x "%.1f"
  167. set format y "%.2f"
  168. set sample 100
  169. set title "cauchy PDF"
  170. plot [-15:15] [0:0.2] a = 0, b = 2, cauchy(x) title "a = 0, b = 2", \
  171.                       a = 0, b = 4, cauchy(x) title "a = 0, b = 4"
  172.  
  173. will result in (gif mode)  
  174.  
  175. set title "cauchy CDF"
  176. plot [-30:30] [0:1.1] a = 0, b = 2, ccauchy(x) title "a = 0, b = 2", \
  177.                       a = 0, b = 4, ccauchy(x) title "a = 0, b = 4"
  178.  
  179. will result in (gif mode)  
  180.  
  181.  
  182. # Chi-square PDF and CDF
  183. #df1 = 4.0
  184. #mu = df1
  185. #sigma = sqrt(2.0 * df1)
  186. #xmin = mu - 4.0 * sigma
  187. #xmin = xmin < 0 ? 0 : xmin
  188. #xmax = mu + 4.0 * sigma
  189. #ymax = 1.1 * (df1 > 2.0 ? chi(df1 - 2.0) : 1.0) #Mode of chi PDF used
  190. set key
  191. set zeroaxis
  192. #set xrange [xmin : xmax]
  193. #set yrange [0 : ymax]
  194. set xlabel "x ->"
  195. set ylabel "probability density ->"
  196. set xtics
  197. set ytics
  198. set format x "%.1f"
  199. set format y "%.2f"
  200. set sample 100
  201. set title "chi-square PDF"
  202. plot [0:15] [0:0.2] df1 = 4, chi(x) title "df = 4", \
  203.                     df1 = 6, chi(x) title "df = 6", \
  204.                     df1 = 8, chi(x) title "df = 8"
  205.  
  206. will result in (gif mode)  
  207.  
  208. set title "chi-square CDF"
  209. plot [0:15] [0:1.1] df1 = 4, cchi(x) title "df = 4", \
  210.                     df1 = 6, cchi(x) title "df = 6", \
  211.                     df1 = 8, cchi(x) title "df = 8"
  212.  
  213. will result in (gif mode)  
  214.  
  215.  
  216. # Erlang PDF and CDF
  217. #lambda = 1.0; n = 2.0
  218. #mu = n / lambda
  219. #sigma = sqrt(n) / lambda
  220. #xmin = mu - 4.0 * sigma
  221. #xmin = xmin < 0 ? 0 : xmin
  222. #xmax = mu + 4.0 * sigma
  223. #ymax = n < 2.0 ? 1.0 : 1.1 * erlang((n - 1.0) / lambda) #Mode of erlang PDF used
  224. set key
  225. set zeroaxis
  226. #set xrange [xmin : xmax]
  227. #set yrange [0 : ymax]
  228. set xlabel "x ->"
  229. set ylabel "probability density ->"
  230. set xtics
  231. set ytics
  232. set format x "%.1f"
  233. set format y "%.1f"
  234. set sample 100
  235. set title "erlang PDF"
  236. plot [0:10] [0:1] lambda = 1, n = 2, erlang(x) title "lambda = 1, n = 2", \
  237.                   lambda = 2, n = 2, erlang(x) title "lambda = 2, n = 2"
  238.  
  239. will result in (gif mode)  
  240.  
  241. set title "erlang CDF"
  242. plot [0:10] [0:1.1] lambda = 1, n = 2, cerlang(x) title "lambda = 1, n = 2", \
  243.                     lambda = 2, n = 2, cerlang(x) title "lambda = 2, n = 2"
  244.  
  245. will result in (gif mode)  
  246.  
  247.  
  248. # Thanks to mrb2j@kelvin.seas.Virginia.EDU for telling us about this.
  249. # Extreme (Gumbel extreme value) PDF and CDF
  250. #alpha = 0.5; u = 1.0
  251. #mu = u + (0.577215665/alpha)   # Euler's constant
  252. #sigma = pi/(sqrt(6.0)*alpha)
  253. #xmin = mu - 4.0 * sigma
  254. #xmax = mu + 4.0 * sigma
  255. #ymax = 1.1 * extreme(u) #Mode of extreme PDF used
  256. set key
  257. set zeroaxis
  258. #set xrange [xmin : xmax]
  259. #set yrange [0 : ymax]
  260. set xlabel "x ->"
  261. set ylabel "probability density ->"
  262. set xtics
  263. set ytics
  264. set format x "%.1f"
  265. set format y "%.2f"
  266. set sample 100
  267. set title "extreme PDF"
  268. plot [-10:10] [0:0.4] alpha = 0.5, u = 1.0, extreme(x) title "alpha = 0.5, u = 1.0", \
  269.                       alpha = 1.0, u = 0.0, extreme(x) title "alpha = 1.0, u = 0.0"
  270.  
  271. will result in (gif mode)  
  272.  
  273. set title "extreme CDF"
  274. plot [-10:10] [0:1.1] alpha = 0.5, u = 1.0, cextreme(x) title "alpha = 0.5, u = 1.0", \
  275.                       alpha = 1.0, u = 0.0, cextreme(x) title "alpha = 1.0, u = 0.0"
  276.  
  277. will result in (gif mode)  
  278.  
  279.  
  280. # F PDF and CDF
  281. #df1 = 5.0; df2 = 9.0
  282. #mu = df2 < 2.0 ? 1.0 : df2 / (df2 - 2.0)
  283. #sigma = df2 < 4.0 ? 1.0 : mu * sqrt(2.0 * (df1 + df2 - 2.0) / (df1 * (df2 - 4.0)))
  284. #xmin = mu - 4.0 * sigma
  285. #xmin = xmin < 0 ? 0 : xmin
  286. #xmax = mu + 4.0 * sigma
  287. #Mode of F PDF used
  288. #ymax = df1 < 3.0 ? 1.0 : 1.1 * f((df1 / 2.0 - 1.0) / (df1 / 2.0 + df1 / df2))
  289. set key
  290. set zeroaxis
  291. #set xrange [xmin : xmax]
  292. #set yrange [0 : ymax]
  293. set xlabel "x ->"
  294. set ylabel "probability density ->"
  295. set xtics
  296. set ytics
  297. set format x "%.1f"
  298. set format y "%.2f"
  299. set sample 100
  300. set title "F PDF"
  301. plot [0:4] [0:0.8] df1 = 5.0, df2 = 9.0, f(x) title "df1 = 5, df2 = 9", \
  302.                    df1 = 7.0, df2 = 6.0, f(x) title "df1 = 7, df2 = 6"
  303.  
  304. will result in (gif mode)  
  305.  
  306. set title "F CDF"
  307. plot [0:4] [0:1.1] df1 = 5.0, df2 = 9.0, cf(x) title "df1 = 5, df2 = 9", \
  308.                    df1 = 7.0, df2 = 6.0, cf(x) title "df1 = 7, df2 = 6"
  309.  
  310. will result in (gif mode)  
  311.  
  312.  
  313. # Gamma PDF and incomplete gamma CDF
  314. #rho = 0.5; lambda = 1.0
  315. #mu = rho / lambda
  316. #sigma = sqrt(rho) / lambda
  317. #xmin = mu - 4.0 * sigma
  318. #xmin = xmin < 0 ? 0 : xmin
  319. #xmax = mu + 4.0 * sigma
  320. #ymax = rho < 1.0 ? 2.0 : 1.1 * g((rho - 1.0) / lambda) #Mode of gamma pdf used
  321. set key
  322. set zeroaxis
  323. #set xrange [xmin: xmax]
  324. #set yrange [0: ymax]
  325. set xlabel "x ->"
  326. set ylabel "probability density ->"
  327. set xtics
  328. set ytics
  329. set format x "%.1f"
  330. set format y "%.1f"
  331. set sample 100
  332. set title "gamma PDF"
  333. plot [0:5] [0:1.5] rho = 0.5, lambda = 1.0, g(x) title "rho = 0.5, lambda = 1.0", \
  334.                    rho = 1.0, lambda = 1.0, g(x) title "rho = 1.0, lambda = 1.0", \
  335.                    rho = 2.0, lambda = 2.0, g(x) title "rho = 2.0, lambda = 2.0"
  336.  
  337. will result in (gif mode)  
  338.  
  339. set title "incomplete gamma CDF (lambda == 1.0)"
  340. plot [0:5] [0:1.1] rho = 0.5, cgamma(x) title "rho = 0.5", \
  341.                    rho = 1.0, cgamma(x) title "rho = 1.0", \
  342.                    rho = 2.0, cgamma(x) title "rho = 2.0"
  343.  
  344. will result in (gif mode)  
  345.  
  346.  
  347. # Geometric PDF and CDF
  348. p = 0.4
  349. mu = (1.0 - p) / p
  350. sigma = sqrt(mu / p)
  351. xmin = int(mu - 4.0 * sigma)
  352. xmin = xmin < 0 ? 0 : xmin
  353. xmax = int(mu + 4.0 * sigma)
  354. xinc = ceil((xmax - xmin) / 10)
  355. xinc = xinc > 1 ? xinc : 1
  356. ymax = 1.1 * geometric(mu - 1/p) #mode of gamma PDF used
  357. set nokey
  358. set nozeroaxis
  359. set xrange [xmin : xmax]
  360. set yrange [0 : ymax]
  361. set xlabel "k ->"
  362. set ylabel "probability density ->"
  363. set xtics xmin + 0.499, xinc, xmax
  364. set ytics 0, ymax / 10, ymax
  365. set format x "%2.0f"
  366. set format y "%3.2f"
  367. set sample (xmax - xmin) + 1
  368. set title "geometric PDF with p = 0.4"
  369. plot geometric(x) with steps
  370.  
  371. will result in (gif mode)  
  372.  
  373. set title "geometric CDF with p = 0.4"
  374. set yrange [0 : 1.1]
  375. set ytics 0, 1.1 / 10.5, 1.1
  376. plot cgeometric(x) with steps
  377.  
  378. will result in (gif mode)  
  379.  
  380.  
  381. # Half normal PDF and CDF
  382. mu = sqrt2invpi
  383. sigma = 1.0
  384. s = sigma*sqrt(1.0 - 2.0/pi)
  385. xmin = 0.0
  386. xmax = mu + 4.0 * s
  387. ymax = 1.1 * halfnormal(0) #Mode of half normal PDF used
  388. set nokey
  389. set zeroaxis
  390. set xrange [xmin: xmax]
  391. set yrange [0: ymax]
  392. set xlabel "x ->"
  393. set ylabel "probability density ->"
  394. set xtics
  395. set ytics
  396. set format x "%.1f"
  397. set format y "%.1f"
  398. set sample 100
  399. set title "half normal PDF, sigma = 1.0"
  400. plot halfnormal(x)
  401.  
  402. will result in (gif mode)  
  403.  
  404. set title "half normal CDF, sigma = 1.0"
  405. set yrange [0:1.1]
  406. plot chalfnormal(x)
  407.  
  408. will result in (gif mode)  
  409.  
  410.  
  411. # Hypergeometric PDF and CPF
  412. nn = 75; mm = 25; n = 10
  413. p = real(mm) / nn
  414. mu = n * p
  415. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  416. xmin = int(mu - 4.0 * sigma)
  417. xmin = xmin < 0 ? 0 : xmin
  418. xmax = int(mu + 4.0 * sigma)
  419. xinc = ceil((xmax - xmin) / 10)
  420. xinc = xinc > 1 ? xinc : 1
  421. ymax = 1.1 * hypgeo(mu) #mode of binomial PDF used
  422. set nokey
  423. set nozeroaxis
  424. set xrange [xmin : xmax]
  425. set yrange [0 : ymax]
  426. set xlabel "k ->"
  427. set ylabel "probability density ->"
  428. set xtics xmin + 0.499, xinc, xmax
  429. set ytics 0, ymax / 10, ymax
  430. set format x "%2.0f"
  431. set format y "%3.2f"
  432. set sample (xmax - xmin) + 1
  433. set title "hypergeometric PDF with nn = 75, mm = 25, n = 10"
  434. plot hypgeo(x) with steps
  435.  
  436. will result in (gif mode)  
  437.  
  438. set yrange [0 : 1.1]
  439. set ytics 0, 1.1 / 10.5, 1.1
  440. set title "hypergeometric CDF with nn = 75, mm = 25, n = 10"
  441. plot chypgeo(x) with steps
  442.  
  443. will result in (gif mode)  
  444.  
  445.  
  446. # Laplace PDF
  447. a = 0.0; b = 1.0
  448. mu = a
  449. sigma = sqrt(2.0) * b
  450. xmin = mu - 4.0 * sigma
  451. xmax = mu + 4.0 * sigma
  452. ymax = 1.1 * laplace(a) #Mode of laplace PDF used
  453. set nokey
  454. set zeroaxis
  455. set xrange [xmin: xmax]
  456. set yrange [0: ymax]
  457. set xlabel "x ->"
  458. set ylabel "probability density ->"
  459. set xtics
  460. set ytics
  461. set format x "%.1f"
  462. set format y "%.2f"
  463. set sample 100
  464. set title "laplace (or double exponential) PDF with a = 0, b = 1"
  465. plot laplace(x)
  466.  
  467. will result in (gif mode)  
  468.  
  469. set title "laplace (or double exponential) CDF with a = 0, b = 1"
  470. set yrange [0: 1.1]
  471. plot claplace(x)
  472.  
  473. will result in (gif mode)  
  474.  
  475.  
  476. # Logistic PDF and CDF
  477. a = 0.0; lambda = 2.0
  478. mu = a
  479. sigma = pi / (sqrt(3.0) * lambda)
  480. xmin = mu - 4.0 * sigma
  481. xmax = mu + 4.0 * sigma
  482. ymax = 1.1 * logistic(mu) #Mode of logistic PDF used
  483. set nokey
  484. set zeroaxis
  485. set xrange [xmin: xmax]
  486. set yrange [0: ymax]
  487. set nokey
  488. set zeroaxis
  489. set xlabel "x ->"
  490. set ylabel "probability density ->"
  491. set xtics
  492. set ytics
  493. set format x "%.1f"
  494. set format y "%.1f"
  495. set sample 100
  496. set title "logistic PDF with a = 0, lambda = 2"
  497. plot logistic(x)
  498.  
  499. will result in (gif mode)  
  500.  
  501. set title "logistic CDF with a = 0, lambda = 2"
  502. set yrange [0: 1.1]
  503. plot clogistic(x)
  504.  
  505. will result in (gif mode)  
  506.  
  507.  
  508. # Lognormal PDF and CDF
  509. mu = 1.0; sigma = 0.5
  510. m = exp(mu + 0.5 * sigma**2)
  511. s = sqrt(exp(2.0 * mu + sigma**2) * (2.0 * exp(sigma) - 1.0))
  512. xmin = m - 4.0 * s
  513. xmin = xmin < 0 ? 0 : xmin
  514. xmax = m + 4.0 * s
  515. ymax = 1.1 * lognormal(exp(mu - sigma**2)) #Mode of lognormal PDF used
  516. set nokey
  517. set zeroaxis
  518. set xrange [xmin: xmax]
  519. set yrange [0: ymax]
  520. set xlabel "x ->"
  521. set ylabel "probability density ->"
  522. set xtics
  523. set ytics
  524. set format x "%.2f"
  525. set format y "%.2f"
  526. set sample 100
  527. set title "lognormal PDF with mu = 1.0, sigma = 0.5"
  528. plot lognormal(x)
  529.  
  530. will result in (gif mode)  
  531.  
  532. set title "lognormal CDF with mu = 1.0, sigma = 0.5"
  533. set yrange [0: 1.1]
  534. plot clognormal(x)
  535.  
  536. will result in (gif mode)  
  537.  
  538.  
  539. # Maxwell PDF
  540. #a = 0.1
  541. #mu = 2.0 / sqrt(pi) / a
  542. #sigma = sqrt(3.0 - 8.0/pi) / a
  543. #xmin = mu - 4.0 * sigma
  544. #xmin = xmin < 0 ? 0 : xmin
  545. #xmax = mu + 4.0 * sigma
  546. #ymax = 1.1 * maxwell(1.0 / a) #Mode of maxwell PDF used
  547. set key
  548. set zeroaxis
  549. #set xrange[xmin: xmax]
  550. #set yrange[0: ymax]
  551. set xlabel "x ->"
  552. set ylabel "probability density ->"
  553. set xtics
  554. set ytics
  555. set format x "%.1f"
  556. set format y "%.1f"
  557. set sample 100
  558. set title "maxwell PDF"
  559. plot [0:6] [0:1.4] a = 1.5, maxwell(x) title "a = 1.5", \
  560.                    a = 1.0, maxwell(x) title "a = 1.0", \
  561.                    a = 0.5, maxwell(x) title "a = 0.5"
  562.  
  563. will result in (gif mode)  
  564.  
  565. set title "maxwell CDF"
  566. plot [0:6] [0:1.1] a = 1.5, cmaxwell(x) title "a = 1.5", \
  567.                    a = 1.0, cmaxwell(x) title "a = 1.0", \
  568.                    a = 0.5, cmaxwell(x) title "a = 0.5"
  569.  
  570. will result in (gif mode)  
  571.  
  572.  
  573. # Negative binomial PDF and CDF
  574. r = 8; p = 0.4
  575. mu = r * (1.0 - p) / p
  576. sigma = sqrt(mu / p)
  577. xmin = int(mu - 4.0 * sigma)
  578. xmin = xmin < 0 ? 0 : xmin
  579. xmax = int(mu + 4.0 * sigma)
  580. xinc = ceil((xmax - xmin) / 10)
  581. xinc = xinc > 1 ? xinc : 1
  582. ymax = 1.1 * negbin(mu - 1.0/p) #mode of gamma PDF used
  583. set nokey
  584. set nozeroaxis
  585. set xrange [xmin : xmax]
  586. set yrange [0 : ymax]
  587. set xlabel "k ->"
  588. set ylabel "probability density ->"
  589. set xtics xmin + 0.499, xinc, xmax
  590. set ytics 0, ymax / 10, ymax
  591. set format x "%2.0f"
  592. set format y "%3.2f"
  593. set sample (xmax - xmin) + 1
  594. set title "negative binomial (or pascal or polya) PDF with r = 8, p = 0.4"
  595. plot negbin(x) with steps
  596.  
  597. will result in (gif mode)  
  598.  
  599. set yrange [0 : 1.1]
  600. set ytics 0, 1.1 / 10.5, 1.1
  601. set title "negative binomial (or pascal or polya) CDF with r = 8, p = 0.4"
  602. plot cnegbin(x) with steps
  603.  
  604. will result in (gif mode)  
  605.  
  606.  
  607. # Negative exponential PDF and CDF
  608. lambda = 2.0
  609. mu = 1.0 / lambda
  610. sigma = 1.0 / lambda
  611. xmax =  mu + 4.0 * sigma
  612. ymax = lambda #No mode
  613. set nokey
  614. set zeroaxis
  615. set xrange [0: xmax]
  616. set yrange [0: ymax]
  617. set xlabel "x ->"
  618. set ylabel "probability density ->"
  619. set xtics
  620. set ytics
  621. set format x "%.2f"
  622. set format y "%.1f"
  623. set sample 100
  624. set title "negative exponential (or exponential) PDF with lambda = 2.0"
  625. plot nexp(x)
  626.  
  627. will result in (gif mode)  
  628.  
  629. set title "negative exponential (or exponential) CDF with lambda = 2.0"
  630. set yrange [0: 1.1]
  631. plot cnexp(x)
  632.  
  633. will result in (gif mode)  
  634.  
  635.  
  636. # Normal PDF and CDF
  637. #mu = 0.0; sigma = 1.0
  638. #xmin = mu - 4.0 * sigma
  639. #xmax = mu + 4.0 * sigma
  640. #ymax = 1.1 * normal(mu) #Mode of normal PDF used
  641. set key
  642. set zeroaxis
  643. #set xrange [xmin: xmax]
  644. #set yrange [0: ymax]
  645. set xlabel "x ->"
  646. set ylabel "probability density ->"
  647. set xtics
  648. set ytics
  649. set format x "%.1f"
  650. set format y "%.1f"
  651. set sample 100
  652. set title "normal (also called gauss or bell-curved) PDF"
  653. plot [-4:4] [0:1] mu = 0, sigma = 1.0, normal(x) title "mu = 0, sigma = 1.0", \
  654.                   mu = 2, sigma = 0.5, normal(x) title "mu = 2, sigma = 0.5", \
  655.                   mu = 1, sigma = 2.0, normal(x) title "mu = 1, sigma = 2.0"
  656.  
  657. will result in (gif mode)  
  658.  
  659. set title "normal (also called gauss or bell-curved) CDF"
  660. plot [-4:4] [0:1.1] mu = 0, sigma = 1.0, cnormal(x) title "mu = 0, sigma = 1.0", \
  661.                     mu = 2, sigma = 0.5, cnormal(x) title "mu = 2, sigma = 0.5", \
  662.                     mu = 1, sigma = 2.0, cnormal(x) title "mu = 1, sigma = 2.0"
  663.  
  664. will result in (gif mode)  
  665.  
  666.  
  667. # Pareto PDF and CDF
  668. a = 1.0; b = 3.0
  669. mu = a * b / (b - 1.0)
  670. sigma = a * sqrt(b) / (sqrt(b - 2.0) * (b - 1.0))
  671. xmin = mu - 4.0 * sigma
  672. xmin = xmin < 0 ? 0 : xmin
  673. xmax = mu + 4.0 * sigma
  674. ymax = 1.1 * pareto(a) #mode of pareto PDF used
  675. set nokey
  676. set zeroaxis
  677. set xrange [xmin: xmax]
  678. set yrange [0: ymax]
  679. set xlabel "x ->"
  680. set ylabel "probability density ->"
  681. set xtics
  682. set ytics
  683. set format x "%.1f"
  684. set format y "%.1f"
  685. set sample 500
  686. set title "pareto PDF with a = 1, b = 3"
  687. plot pareto(x)
  688.  
  689. will result in (gif mode)  
  690.  
  691. set title "pareto CDF with a = 1, b = 3"
  692. set yrange [0: 1.1]
  693. plot cpareto(x)
  694.  
  695. will result in (gif mode)  
  696.  
  697.  
  698. # Poisson PDF and CDF
  699. mu = 4.0
  700. sigma = sqrt(mu)
  701. xmin = int(mu - 4.0 * sigma)
  702. xmin = xmin < 0 ? 0 : xmin
  703. xmax = int(mu + 4.0 * sigma)
  704. xinc = ceil((xmax - xmin) / 10)
  705. xinc = xinc > 1 ? xinc : 1
  706. ymax = 1.1 * poisson(mu) #mode of poisson PDF used
  707. set nokey
  708. set nozeroaxis
  709. set xrange [xmin : xmax]
  710. set yrange [0 : ymax]
  711. set xlabel "k ->"
  712. set ylabel "probability density ->"
  713. set xtics xmin + 0.499, xinc, xmax
  714. set ytics 0, ymax / 10, ymax
  715. set format x "%2.0f"
  716. set format y "%3.2f"
  717. set sample (xmax - xmin) + 1
  718. set title "poisson PDF with mu = 4.0"
  719. plot poisson(x) with steps
  720.  
  721. will result in (gif mode)  
  722.  
  723. set yrange [0 : 1.1]
  724. set ytics 0, 1.1 / 10.5, 1.1
  725. set title "poisson CDF with mu = 4.0"
  726. plot cpoisson(x) with steps
  727.  
  728. will result in (gif mode)  
  729.  
  730.  
  731. # Rayleigh PDF and CDF
  732. lambda = 2.0
  733. mu = 0.5 * sqrt(pi / lambda)
  734. sigma = sqrt((1.0 - pi / 4.0) / lambda)
  735. xmax = mu + 4.0 * sigma
  736. ymax = 1.1 * rayleigh(1.0 / sqrt(2.0 * lambda)) #Mode of rayleigh PDF used
  737. set nokey
  738. set zeroaxis
  739. set xrange [0: xmax]
  740. set yrange [0: ymax]
  741. set xlabel "x ->"
  742. set ylabel "probability density ->"
  743. set xtics
  744. set ytics
  745. set format x "%.2f"
  746. set format y "%.1f"
  747. set sample 100
  748. set title "rayleigh PDF with lambda = 2.0"
  749. plot rayleigh(x)
  750.  
  751. will result in (gif mode)  
  752.  
  753. set title "rayleigh CDF with lambda = 2.0"
  754. set yrange [0: 1.1]
  755. plot crayleigh(x)
  756.  
  757. will result in (gif mode)  
  758.  
  759.  
  760. # Sine PDF and CDF
  761. #a = 3.0; n = 2
  762. #mu = a / 2.0
  763. #sigma = sqrt(a * a / 3.0 * (1.0 - 3.0 / (2.0 * n * n * pi * pi)) - mu * mu)
  764. #xmin = 0.0
  765. #xmax = a
  766. #ymax = 1.1 * 2.0 / a #Mode of sine PDF used
  767. set key
  768. set zeroaxis
  769. #set xrange [xmin: xmax]
  770. #set yrange [0: ymax]
  771. set xlabel "x ->"
  772. set ylabel "probability density ->"
  773. set xtics
  774. set ytics
  775. set format x "%.2f"
  776. set format y "%.1f"
  777. set sample 100
  778. set title "sine PDF"
  779. plot [0:2] [0:1.1] a = 2.0, n = 1, sine(x) title "a = 2.0, n = 1", \
  780.                    a = 2.0, n = 3, sine(x) title "a = 2.0, n = 3"
  781.  
  782. will result in (gif mode)  
  783.  
  784. set title "sine CDF"
  785. plot [0:2] [0:1.1] a = 2.0, n = 1, csine(x) title "a = 2.0, n = 1", \
  786.                    a = 2.0, n = 3, csine(x) title "a = 2.0, n = 3"
  787.  
  788. will result in (gif mode)  
  789.  
  790.  
  791. # t PDF and CDF
  792. df1 = 3.0
  793. mu = 0.0
  794. sigma = df1 > 2.0 ? sqrt(df1 / (df1 - 2.0)) : 1.0
  795. xmin = mu - 4.0 * sigma
  796. xmax = mu + 4.0 * sigma
  797. ymax = 1.1 * t(mu) #Mode of t PDF used
  798. set nokey
  799. set zeroaxis
  800. set xrange [xmin: xmax]
  801. set yrange [0: ymax]
  802. set xlabel "x ->"
  803. set ylabel "probability density ->"
  804. set xtics
  805. set ytics
  806. set format x "%.1f"
  807. set format y "%.2f"
  808. set sample 100
  809. set title "t PDF with df1 = 3.0"
  810. plot t(x)
  811.  
  812. will result in (gif mode)  
  813.  
  814. set title "t CDF with df1 = 3.0"
  815. set yrange [0: 1.1]
  816. plot ct(x)
  817.  
  818. will result in (gif mode)  
  819.  
  820.  
  821. # Thanks to efrank@upenn5.hep.upenn.edu for telling us about this
  822. # triangular PDF and CDF
  823. m = 3.0
  824. g = 2.0
  825. mu = m
  826. sigma = g/sqrt(6.0)
  827. xmin = m - g
  828. xmax = m + g
  829. ymax = 1.1 * triangular(m) #Mode of triangular PDF used
  830. set nokey
  831. set zeroaxis
  832. set xrange [xmin: xmax]
  833. set yrange [0: ymax]
  834. set xlabel "x ->"
  835. set ylabel "probability density ->"
  836. set xtics
  837. set ytics
  838. set format x "%.1f"
  839. set format y "%.2f"
  840. set sample 100
  841. set title "triangular PDF with m = 3.0, g = 2.0"
  842. plot triangular(x)
  843.  
  844. will result in (gif mode)  
  845.  
  846. set title "triangular CDF with m = 3.0, g = 2.0"
  847. set yrange [0: 1.1]
  848. plot ctriangular(x)
  849.  
  850. will result in (gif mode)  
  851.  
  852.  
  853. # Uniform PDF and CDF
  854. a = -2.0; b= 2.0
  855. mu = (a + b) / 2.0
  856. sigma = (b - a) / sqrt(12.0)
  857. xmin = a
  858. xmax = b
  859. ymax = 1.1 * uniform(mu) #No mode
  860. set nokey
  861. set zeroaxis
  862. set xrange [xmin: xmax]
  863. set yrange [0: ymax]
  864. set xlabel "x ->"
  865. set ylabel "probability density ->"
  866. set xtics
  867. set ytics
  868. set format x "%.2f"
  869. set format y "%.2f"
  870. set sample 100
  871. set title "uniform PDF with a = -2.0, b = 2.0"
  872. plot uniform(x)
  873.  
  874. will result in (gif mode)  
  875.  
  876. set title "uniform CDF with a = -2.0, b = 2.0"
  877. set yrange [0: 1.1]
  878. plot cuniform(x)
  879.  
  880. # Weibull PDF and CDF
  881. #lambda = 1.0; n = 1.5
  882. #mu = lambda**(-1.0 / n) * gamma(1.0 / n) / n
  883. #sigma = sqrt(2.0 * lambda**(-2.0 / n) * gamma(2.0 / n) / n - mu * mu)
  884. #xmin = mu - 4.0 * sigma
  885. #xmin = xmin < 0 ? 0 : xmin
  886. #xmax = mu + 4.0 * sigma
  887. #Mode of weibull PDF used
  888. #ymax = 1.1 * (n > 1.0 ? weibull(((n - 1.0) / (lambda * n))**(1.0 / n)) : 2.0)
  889. set key
  890. set zeroaxis
  891. #set xrange [xmin : xmax]
  892. #set yrange [0: ymax]
  893. set xlabel "x ->"
  894. set ylabel "probability density ->"
  895. set xtics
  896. set ytics
  897. set format x "%.2f"
  898. set format y "%.1f"
  899. set sample 100
  900. set title "weibull PDF"
  901. plot [0:2] [0:1.5] lambda = 1, n = 0.5, weibull(x) title "lambda = 1, n = 0.5", \
  902.                    lambda = 1, n = 1.0, weibull(x) title "lambda = 1, n = 1.0", \
  903.                    lambda = 1, n = 2.0, weibull(x) title "lambda = 1, n = 2.0", \
  904.                    lambda = 3, n = 2.0, weibull(x) title "lambda = 3, n = 2.0"
  905.  
  906. set title "weibull CDF"
  907. plot [0:3] [0:1.2] lambda = 1, n = 0.5, cweibull(x) title "lambda = 1, n = 0.5", \
  908.                    lambda = 1, n = 1.0, cweibull(x) title "lambda = 1, n = 1.0", \
  909.                    lambda = 1, n = 2.0, cweibull(x) title "lambda = 1, n = 2.0", \
  910.                    lambda = 3, n = 2.0, cweibull(x) title "lambda = 3, n = 2.0"
  911.  
  912. load "defaults.ini"
  913.